package com.ruoyi.swla2.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.ruoyi.common.annotation.Excel;
import lombok.*;

/**
 * 任务管理对象 t_task_management
 *
 * @author gdqt
 * @date 2025-06-26
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_task_management")
public class TaskManagement extends CommonEntity
{
    private static final long serialVersionUID = 1L;

    /**  主键id */
    @TableId(value="id",type = IdType.AUTO)
    private Long id;

    /** 租户ID */
    private String tenantId;


    /** 任务编号 */
    @Excel(name = "任务编号")
    @TableField("task_no")
    private String taskNo;

    /** 任务名称 */
    @Excel(name = "任务名称")
    @TableField("task_name")
    private String taskName;

    /**  任务地址 */
    @Excel(name = " 任务地址")
    @TableField("task_address")
    private String taskAddress;

    /** 任务描述 */
    @Excel(name = "任务描述")
    @TableField("`desc`")
    private String desc;

    /** 任务状态  0初始 1开始 2结束 */
    @Excel(name = "状态",type = Excel.Type.ALL,  dictType = "task_management_status")
    @TableField("`status`")
    private String status;


    /** 任务状态 1正常 2疑似 3预警 */
    @Excel(name = "任务状态",type = Excel.Type.ALL,  dictType = "task_management_task_status")
    @TableField("task_status")
    private String taskStatus;

    /** 负责人 */
    @Excel(name = "负责人")
    @TableField("header")
    private String header;

    /**  联系方式 */
    @Excel(name = " 联系方式")
    @TableField("telephone")
    private String telephone;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd  HH:mm:ss")
    @TableField("start_time")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @TableField("end_time")
    private Date endTime;

}
